📬Cloud Mail 基于Cloudflare的简约响应式邮箱服务,支持邮件发送、附件收发📨

📬Cloud Mail 基于Cloudflare的简约响应式邮箱服务,支持邮件发送、附件收发,部署到 Worker 降低服务器成本 🎉


封面图


👉在线演示


📖项目介绍

只需要一个域名,就可以创建多个不同的邮箱,类似各大邮箱平台,本项目可部署到 Cloudflare Workers ,降低服务器成本,搭建自己的邮箱服


💰 低成本使用
部署到 Cloudflare Workers,降低服务器成本
📧 邮件发送
集成 Resend 发送邮件,支持群发、内嵌图片和附件发送,状态查看
📊 数据可视化
使用 Echarts 对系统数据详情、用户邮件增长可视化展示
🛡️ 管理员功能
可以对用户、邮件进行管理,RBAC 权限控制对功能及资源限制
🔁 多号模式
开启后多号模式后,一个用户可以添加多个邮箱
📎 附件收发
支持收发附件,使用 R2 对象存储保存和下载文件
🎨 个性化设置
可以自定义网站标题、登录背景、透明度
🤖 人机验证
集成 Turnstile 人机验证,防止人机批量注册

📗项目部署

准备账号


📘创建项目

  1. 克隆仓库到自己的GitHub账号
1
https://github.com/maillab/cloud-mail
  1. 创建worker项目
  1. 选择GitHub导入
  1. 设置目录 mail-worker并部署

🛠️设置环境变量

变量名 必需 用途
domain 邮箱域名,多域名用(例如 ["example.com","example2.com"]
admin 管理员邮箱地址(例如 admin@example.com
jwt_secret JWT密钥 随便输入一串字符串,不要输入特殊字符

🪢绑定数据库

  1. 创建KV和D1数据库
  1. 添加绑定,变量名必须为kvdb

🔗设置转发


📌登录网站

  1. 浏览器输入 https://skymail.ink/api/init/你的jwt_secret 初始化数据库
  1. 浏览器输入自定义域名,注册管理员账号,登录网站


📨邮件发送

WARNING
Cloudflare 目前不支持发件,封禁25端口,只能使用第三方服务

  1. 注册Resend,并添加域名,完成DNS验证
  1. 创建 API Key 并复制
  1. 设置发送状态回调 https://worker自定义域/api/webhooks
  1. 选择对应选项
  1. 系统设置

📦对象存储

WARNING
邮件附件默认使用KV存储,可以切改为R2或其他S3协议存储

  1. 创建R2对象存储桶
  1. 设置自定义域名
  1. 添加到Action Secret,运行工作流
Secret 名称 必需 用途
实时预览R2_BUCKET_NAME R2桶名称
  1. 系统设置

🔖注意事项:

🔎域名未验证

DNS提供商自动附加域名

  • 一些DNS提供商会自动添加你的域名以记录MX值,导致验证失败。

问题:

  • 您的MX记录显示为:
    feedback-smtp.eu-west-1.amazonses.com.yourdomain.com

  • 而不是:
    feedback-smtp.eu-west-1.amazonses.com

解决方案:

  • 在你的DNS提供商中,记录值末尾加上一个尾段点(点):
    feedback-smtp.eu-west-1.amazonses.com.

  • 尾段时间告诉你的DNS提供商这是一个完全合格的域名,不应被修改。